iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
DevOps

30天完成本地部署 kubernetes系列 第 2

本地部署 kubernetes 的相關技術及工具介紹

  • 分享至 

  • xImage
  •  

基本的 kubernetes 慨念介紹

在一個 kubernetes 群集中,包含兩類節點:master 節點及 worker 節點。

master 節點 的作用為控制整個 kubernetes 群集,對於工作負載 (workload) 的需求進行容器調度。
worker 節點 則作為工作負載的執行環境,實際運行工作負載中的 pod 單元。

關於 kubernetes 的基本慨念先簡單帶到這邊。於本地部署時,需知道要部署是何種節點。更詳細的 kubernetes 說明,請參考 https://kubernetes.io/docs/home/

基本 kubernetes 群集部署工具

部署 kubernetes 群集使用 kubeadm

如何處理服務暴露問題

traefik 作為 Ingress Controller,以實現負載平衡及服務感知,並透過 DaemonSet 對外暴露服務 (node IP + host Port)。

此時雖然每個 DaemonSet 的節點 ip,均可作為對外服務的 ip,但每個 ip 均會有單點失敗問題,該節點若失效,則該 ip 會變為不可用。

透過 keepalived 提供 vip 作為對外服務的 ip,即可解決此問題。

之後將實際進行部署操作,於 kubernetes 群集及 worker 節點上進行 traefik 及 keepalived 的設定及部署。

如何提供可用於多節點、無單點失敗的持久化儲存機制

參考 https://kubernetes.io/docs/concepts/storage/volumes/#types-of-volumes

若是想進行多節點的本地部署,就不能使用 hostPath 及雲端平台所提供的服務。
若是考量高可用,需排除單點失敗,就需選擇分散式儲存系統,比如 glusterfs 及 ceph。

之後將實際進行部署操作,部署 ceph 群集作為 kubernetes 群集的持久化儲存機制。

如何解決 master 節點單點失敗問題

使用 kubeadm 部署 kubernetes 節點並不算困難;只要不考慮 master 節點是單節點問題的話。

預設的 kubeadm 只能部署單一 master 節點。若需要保持 kubernetes 的高可用性,將會需要對 master 節點的實際組成元件有更完整的認識,以部署高可用 master 節點。

這部分將參考 Creating Highly Available clusters with kubeadm,實際進行部署操作,以實現 kubernetes master 節點的高可用性。


上一篇
序章:為何需要本地部署 kubernetes ?會面臨什麼樣的問題?
下一篇
預備測試用的部署環境:使用虛擬機
系列文
30天完成本地部署 kubernetes30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言